﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.Collections;
using System.Globalization;

namespace SoftwareLicensing
{
    public class LicenseKeyInfo
    {
        #region Constructors

        /// <summary>
        /// Creates a nw instance of licensekeyinfo class
        /// </summary>
        public LicenseKeyInfo()
            : this(ProductType.None, ProductFeatures.None, DateTime.MaxValue, byte.MaxValue)
        {

        }
        /// <summary>
        /// Creates a nw instance of licensekeyinfo class
        /// </summary>
        public LicenseKeyInfo(ProductType productType, ProductFeatures features, DateTime expiryTime, byte allowedInstallations)
        {
            this.ProductType = productType;
            this.Features = features;
            this.ExpiryTimeUtc = expiryTime;
            this.AllowedInstallations = allowedInstallations;
        }

        #endregion

        #region Properties

        /// <summary>
        /// ProductType
        /// </summary>
        public ProductType ProductType { get; private set; }

        /// <summary>
        /// Features
        /// </summary>
        public ProductFeatures Features { get; private set; }

        /// <summary>
        /// Expiry time
        /// </summary>
        public DateTime ExpiryTimeUtc { get; private set; }

        /// <summary>
        /// AllowedInstallations
        /// </summary>
        public byte AllowedInstallations { get; private set; }

        #endregion

    }
}
